package util;

import java.util.Collection;
import java.util.Map;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;

/**
 * Classe utilizada para tratar problemas com comboboxes.
 * @author Daniel
 */
public class ComboboxBuilder
{
    /**
     * Preenche comboboxes baseado nos pares combobox-modelo contidos no map passado como parâmetro.
     * @param comboMap
     */
    public static void fillCB(Map<JComboBox, DefaultComboBoxModel> comboMap)
    {
         for(Map.Entry<JComboBox, DefaultComboBoxModel> entries : comboMap.entrySet())
         {
             JComboBox cb = (JComboBox)entries.getKey();
             DefaultComboBoxModel model = (DefaultComboBoxModel)entries.getValue();
             cb.setModel(model);
         }
    }

    /**
     * Constrói um novo modelo de combobox, em formato DefaultComboBoxModel apartir dos pares pk-nome contidos no map passado como parâmetro.
     * @param map Um map contendo os pares.
     * @return O modelo pronto.
     */
    public static DefaultComboBoxModel buildCBModel(Map<Integer, String> map)
    {
        Collection<String> values = map.values();
        Object values_str[] = values.toArray();
        DefaultComboBoxModel model = new DefaultComboBoxModel(values_str);
        return model;
    }
}
